package service;

import domain.Resume;
import domain.Work;

import java.util.List;

public interface WorkService {
    /**
     * 发布工作
     * @param work work
     * @return 为1时修改成功
     */
    int addWork(Work work);

    /**
     * 修改工作
     * @param work work
     * @return 为1时修改成功
     */
    int resetWork(Work work);

    /**
     * 根据ID查询工作
     * @param id long
     * @return 为null时查询失败，登录成功返回正确的resume
     */
    Work selectById(Long id);

    /**
     * 根据招聘者id查询工作
     * @param recruiterId long
     * @return 为null时查询失败，登录成功返回正确的work
     */
    List<Work> selectByRecruiterId(Long recruiterId);

    /**
     * 根据招聘者审核状态查询工作
     * @param passState int
     * @return 为null时查询失败，登录成功返回正确的work
     */
    List<Work> selectByPassState(int passState);

    /**
     * 查询所有工作
     */
    List<Work> selectAll();

    /**
     * 根据公司查询工作
     * @param name String
     * @return 为null时查询失败，登录成功返回正确的work
     */
    List<Work> selectByName(String name);

    /**
     * 根据地点查询工作
     * @param place String
     * @return 为null时查询失败，登录成功返回正确的work
     */
    List<Work> selectByPlace(String place);

    /**
     * 根据工作名称查询工作
     * @param information String
     * @return 为null时查询失败，登录成功返回正确的work
     */
    List<Work> selectByInformation(String information);

    /**
     * 简历工作，1通过
     */
    int onWork(Work work);
}
